package fileHomeWork.day01;

import java.io.File;
import java.io.FileFilter;

/**
 * 列出当前目录中所有名字包含s的子项。
 * <p>
 * 使用匿名内部类和lambda两种写法
 * <p>
 * 单词记一记:
 * FileFilter   文件过滤器
 * accept       接受
 *
 * @author Xiloer
 */
public class Test06 {
    public static void main(String[] args) {
        //.表示指定当前目录下
        File dir = new File(".");
        //判断当前目录下是否存在子元素
        if (dir.isDirectory()) {
            //通过文件过滤器(FileFilter)作为条件(当前所判断的文件名中是否包含s)查询dir所指向的抽象类路径中的所有子项目 并以数组形式返回
            File[] subs = dir.listFiles(new FileFilter() {
                public boolean accept(File file) {
                    //当前所判断的文件名中是否包含s如果包含就返回true
                    return file.getName().contains("s");
                }
            });
            //根据subs数组长度设置循环次数
            for (int i = 0; i < subs.length; i++) {
                //通过循环中i的值，遍历输出subs数组中File实例 并调用当前FIle实例的getName()方法
                System.out.println(subs[i].getName());
            }
        }


    }
}
/*
	提示代码:
	需要用到的语句，尝试按照正确顺序将下列代码并放在main方法中完成需求，
	并在注释中标注每句话的作用，














 */